import { Table,Divider,Tag } from 'antd';
import React, { Component } from 'react';
import store from '../redux';

const columns = [
    {
        title:'Name',
        dataIndex:'name',
        key:'name',
        render:text => <a>{text}</a>
    },
    {
        title:'Age',
        dataIndex:'age',
        key:'age',
    },
    {
        title:'Address',
        dataIndex:'address',
        key:'address',
    },
    {
        title:'Tags',
        key:'tags',
        dataIndex:'tags',
        render: tags => (
            <span>
                {tags.map(tag => {
                    let color = tag.length > 5 ? 'geekblue' : 'green';
                    if(tag === 'loser'){
                        color = 'volcano';
                    }
                    return(
                        <Tag color={color} key={tag}>
                            {tag.toUpperCase()}
                        </Tag>
                    );
                })}
            </span>
        )
    },
    {
        title:'Action',
        key:'action',
        render:(text,record) => (
            <span>
                <a>Invite {record.name}</a>
                <Divider type="vertical" />
                <a>Delete</a>
            </span>
        )
    }
];

const data = [
    {
        key:'1',
        name:'John Brown',
        age:32,
        address:'New York No.1 Lake Park',
        tags:['nice','developer'],
    },
    {
        key:'2',
        name:'Jim Green',
        age:42,
        address:'London No.1 Lake Park',
        tags:['loser'],
    },
    {
        key:'3',
        name:'Joe Black',
        age:32,
        address:'Sidney No.1 Lake Park',
        tags:['cool','teacher'],
    }
];

class myList extends Component {

    constructor(props){
        super(props);
        this.state  = store.getState();
        this.storeChange = this.storeChange.bind(this);
        store.subscribe(this.storeChange);
    }

    storeChange(){
        this.setState(store.getState());
    }
    
    render() {
        return (
            <div hidden={this.state.isTableShow}>
                <Table dataSource={data} columns={columns} />
            </div>
        );
    }
}

export default myList;